Computers and computing systems have affected nearly every aspect of modern living. Computers are generally involved in work, recreation, healthcare, transportation, entertainment, household management, etc. Large data centers can store large amounts of data and provide computing resources to clients located remotely from the data centers. However, growing concerns about the expense of powering and cooling data centers and other server computer environments, as well as the increasing consciousness about conserving natural resources, is pushing the computing hardware and software industries to find innovative ways to reduce computer energy consumption.
While it is possible for hardware manufacturers, including manufacturers of CPU and memory components, to design features into their hardware that will independently improve energy efficiency (e.g., dropping individual CPU cores or memory or entire processor packages dynamically into lower power states when they are not in use), there is a limit to what the hardware can do on its own. Software can similarly attempt to reduce energy consumption without any knowledge of the architecture or implementation details of the underlying hardware, but it too will be limited in its success.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.